Scalability is an attribute that is generally desirable in communication-network elements. Scalability refers to the extent to which a design can accommodate different capacity levels without significant design changes. Scalability also refers to the extent to which a device can be modified in the field to accommodate different levels of capacity, such as by adding or removing line cards. Scalability in design is desired by equipment providers because development of new designs can be costly. Scalability in terms of field upgrades is desired by service providers because the useful life of equipment can be extended to accommodate long term changes in traffic patterns.
The scalability of a switching node is determined at least in-part by the capacity of its traffic scheduler. The traffic scheduler controls access to the resources of the switching node. For example, the traffic scheduler manages allocation of connections across the switch fabric in a given time division multiplexing (“TDM”) frame. Traffic schedulers are typically implemented with a microprocessor and supporting electronic hardware. Consequently, the capacity of the traffic scheduler, and hence the switch, is limited by the rate of function of the microprocessor. It is known to use multiple microprocessors cooperatively to increase the capacity of the traffic scheduler. However, the gain in scheduling capacity is generally not proportional to the number of microprocessors. In other words, two microprocessors provide less than twice the scheduling capacity of a single microprocessor. This limited gain is due in-part to the requirement that the function of the two processors be coordinated. Further, the effort required to coordinate the microprocessors increases as the number of microprocessors increases, i.e., per-processor capacity decreases as the number of processors increases. This is a problem because it adversely affects scalability.